#pragma once
#include <vector>
#include <algorithm>
namespace segment {
struct Point {
  double x;
  double y;
  double z;
};

struct Center {
  double x;
  double y;
};

using PointList=std::vector<Center>;
// unlike autodrive, the data size of 3d printing is small,so for the spped, the
// share_ptr can't be used in this area

class PointCloud {
  public:
  PointCloud() {}
  PointCloud(PointCloud &p):points(p.points);
  ~PointCloud() {}
  std::vector<Point> points;
  Center get_x_min_max(PointCloud &p);
  Center get_y_min_max(PointCloud &p);
  Center get_z_min_max(PointCloud &p);
  Center get_center(PointCloud &p);

    }

    
}

